package com.vehicle.common.security.config;

import java.util.TimeZone;
import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
import org.springframework.context.annotation.Bean;

/**
 * 系统配置
 *
 * @author vehicle
 */
public class ApplicationConfig
{
    /**
     * 时区配置
     */
    /**
     * 时区配置
     * 此方法会创建一个 Jackson2ObjectMapperBuilderCustomizer 类型的 Bean，
     * 用于自定义 Jackson 的 ObjectMapper 构建器，进而设置全局的时区信息。
     * 在 Spring 应用中，Jackson 常用于 JSON 数据的序列化和反序列化操作，
     * 通过这个配置，可以确保在处理日期和时间相关的 JSON 数据时，使用统一的时区。
     *
     * @return 一个 Jackson2ObjectMapperBuilderCustomizer 实例，用于定制 Jackson ObjectMapper 的构建过程
     */
    @Bean
    public Jackson2ObjectMapperBuilderCustomizer jacksonObjectMapperCustomization()
    {
        return jacksonObjectMapperBuilder -> jacksonObjectMapperBuilder.timeZone(TimeZone.getDefault());
    }
}
